package com.j48.entrancegurad.service;

import com.j48.entrancegurad.model.Visitor;

import java.util.ArrayList;
import java.util.List;

public interface IVisitorService {
    /**
     * 查询所有访客记录
     * @return 结果集
     */
    public List<Visitor> selectAll();

    /**
     * 查询所有未到访访客记录
     * @return 结果集
     */
    public List<Visitor> selectAllAble();

    /**
     * 按用户查询访客记录
     * @param visitor 携带用户编号
     * @return 未到访访客中符合条件的
     */
    public List<Visitor> selectByUser(Visitor visitor);

    /**
     * 按用户查询访客记录
     * @param visitor 携带用户编号
     * @return 所有访客中符合条件的
     */
    public List<Visitor> selectAllByUser(Visitor visitor);

    /**
     * 按到访时间查询访客记录
     * @param visitor 携带到访日期
     * @return 查询结果
     */
    public List<Visitor> selectByDate(Visitor visitor);
    /**
     * 按访客姓名查询访客记录
     * @param visitor 携带访客姓名
     * @return 未到访访客中符合条件的
     */
    public List<Visitor> selectByVisitor(Visitor visitor);
    /**
     * 按访客姓名查询访客记录
     * @param visitor 携带访客姓名
     * @return 所有访客中符合条件的
     */
    public List<Visitor> selectAllByVisitor(Visitor visitor);
    /**
     * 添加访客记录
     * @param visitor 被添加记录
     * @return 成功与否
     */
    public boolean insert(Visitor visitor);

    /**
     * 删除访客记录
     * @param visitor 被删除记录
     * @return 成功与否
     */
    public boolean delete(Visitor visitor);

    /**
     * 更新访客记录
     * @param visitor 被更新记录
     * @return 成功与否
     */
    public boolean update(Visitor visitor);

    /**
     * 通过用户的ID查询未到访的访客记录
     * @param visitor
     * @return
     */
    public ArrayList<Visitor> selectByUserId(Visitor visitor);
}
